﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QLTV_BLL;
using QLTV_Public;

namespace QLTV_GiaoDien
{
    public partial class frm_DangNhap : DevExpress.XtraEditors.XtraForm
    {
        public frm_DangNhap()
        {
            InitializeComponent();
        }
        NhatKy_BLL nhatKy_bll = new NhatKy_BLL();
        NguoiDung_BLl nguoiDung_bll = new NguoiDung_BLl();
        public delegate void GetInt(int kt);
        public GetInt GetLoad;
        
        private void frm_DangNhap_Load(object sender, EventArgs e)
        {
           
        }
        private void btn_DangNhap_Click(object sender, EventArgs e)
        {
            NhatKy_Public nk = new NhatKy_Public();
            NguoiDung_Public nd = new NguoiDung_Public();
            nd.Username = txt_TDN.Text;
            nd.Password = txt_MatKhau.Text;
            //Quản Lý
            DataTable dt_QuanLy = new DataTable();
            dt_QuanLy = nguoiDung_bll.dangNhap_QuanLy(nd, nd);
            //Nhân Viên
            DataTable dt_NhanVien = new DataTable();
            dt_NhanVien = nguoiDung_bll.dangNhap_NhanVien(nd,nd);
            // kiêm tra quyền Quản lý
            if (dt_QuanLy.Rows.Count != 0 && dt_NhanVien.Rows.Count==0)
            {
                //luu vào nhật ký
                DataTable dt = new DataTable();
                string sql = "select tbl_NguoiDung.MaNV from tbl_NguoiDung,tbl_NhomQuyen,tbl_QuyenHan where tbl_NguoiDung.MaNhom=tbl_NhomQuyen.MaNhom and tbl_NhomQuyen.MaQuyen=tbl_QuyenHan.MaQuyen and tbl_NguoiDung.Username=N'" + txt_TDN.Text + "'";
                dt = nhatKy_bll.TaoBang(sql);
                cob_MaNV.DataSource = dt;
                cob_MaNV.DisplayMember = "MaNV";
                string d;
                d = DateTime.Now.ToString();
                nk.MaNV = int.Parse(cob_MaNV.Text);
                nk.NgayGio = d;
                nk.HanhDong = "Đăng nhập";
                nk.MoTa = "Đăng nhập vào hệ thống";
                nhatKy_bll.insert_nhatKy(nk, nk, nk, nk);
                //
                TrungGian tg = new TrungGian();
                tg.MaNV =int.Parse(cob_MaNV.Text);
                //
                frmMain f = new frmMain();
                GetLoad(1);
                this.Close();
            }
             //kiểm tra quyền Nhanan viên
            if (dt_NhanVien.Rows.Count != 0 && dt_QuanLy.Rows.Count==0)
            {
                //luu vào nhật ký
                DataTable dt = new DataTable();
                string sql = "select tbl_NguoiDung.MaNV from tbl_NguoiDung,tbl_NhomQuyen,tbl_QuyenHan where tbl_NguoiDung.MaNhom=tbl_NhomQuyen.MaNhom and tbl_NhomQuyen.MaQuyen=tbl_QuyenHan.MaQuyen and tbl_NguoiDung.Username=N'" + txt_TDN.Text + "'";
                dt = nhatKy_bll.TaoBang(sql);
                cob_MaNV.DataSource = dt;
                cob_MaNV.DisplayMember = "MaNV";
                string d;
                d = DateTime.Now.ToString();
                nk.MaNV = int.Parse(cob_MaNV.Text);
                nk.NgayGio = d;
                nk.HanhDong = "Đăng nhập";
                nk.MoTa = "Đăng nhập vào hệ thống";
                nhatKy_bll.insert_nhatKy(nk, nk, nk, nk);
                //
                TrungGian tg = new TrungGian();
                tg.MaNV =int.Parse( cob_MaNV.Text);
                //
                frmMain f = new frmMain();
                GetLoad(2);
                this.Close();
            }
            if(dt_NhanVien.Rows.Count == 0 && dt_QuanLy.Rows.Count==0)
            {
                XtraMessageBox.Show("Tên đăng nhập hoặc mật khẩu không đúng!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txt_MatKhau.ResetText();
                txt_TDN.ResetText();
               
            } 
            txt_TDN.Focus();
        }


        private void txt_TDN_Leave(object sender, EventArgs e)
        {
            if (txt_TDN.Text == "")
            {
                errorProvider1.SetError(txt_TDN, "Bạn chưa điển tên đăng nhập!");
                txt_TDN.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txt_MatKhau_Leave(object sender, EventArgs e)
        {
            if (txt_MatKhau.Text == "")
            {
                errorProvider1.SetError(txt_MatKhau, "Bạn chưa nhập mật khẩu!");
                txt_MatKhau.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txt_TDN_TextChanged(object sender, EventArgs e)
        {
            if (txt_TDN.Text == "")
            {
                errorProvider1.SetError(txt_TDN, "Bạn chưa điển tên đăng nhập!");
                txt_TDN.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void txt_MatKhau_TextChanged(object sender, EventArgs e)
        {
            if (txt_MatKhau.Text == "")
            {
                errorProvider1.SetError(txt_MatKhau, "Bạn chưa nhập mật khẩu!");
                txt_MatKhau.Focus();
            }
            else
                errorProvider1.Clear();
        }

        private void bbi_Thoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

    }
}